#ifndef ROLEMANAGER_H
#define ROLEMANAGER_H

#include "../../Frame/Role.h"
#include "../../Frame/Message.h"
#include "../../Frame/DBStruct.h"
#include "../../Frame/Database.h"
#include "../../Frame/GlobalManager.h"
#include <map>

class RoleManager
{
	public:
		RoleManager();
		~RoleManager();

		bool Init(Database& _pDB);

		// 是否存在缓存或数据库中
		bool isExist(int _roleId);

		// 创建
		int Create(int _cfgId, string _name, GlobalManager* _pGlobalMgr);

		// 获取
		Role* Get(int _roleId);

	protected:
	private:
		// 从数据库结构缓存到内存
		bool Cache(tRole* _DB);

		map<int, Role> m_DataMap; 					// <roleId, Role>

		Database* m_pDB;
};

#endif // ROLEMANAGER_H
